1. Field of the Invention
The present invention relates to processing of data channels in a telecommunications system, and, more particularly, to detection of the data rate of the channel for subsequent decoding.
2. Description of the Related Art
Many telecommunications applications transmit data through a communication channel with varying data rates. For example, the IS-95 digital cellular and J-STD-008 personal communication system (PCS) standards employ speech coders with variable data rates that vary from frame-to-frame, depending on the speech activity. For these applications, the standard speech frame is of 20-ms duration, the frame having 160 13-bit sample values. The sample values (at 8 KHz) are encoded using 171, 80, 40, or 16 bits. After padding, adding frame quality indicators for some of the data rates, and adding tail bits, the 20-ms speech frame data are encoded into 192, 96, 48, and 24 bits, respectively. The final coding yields the standard data rates of 9600, 4800, 2400, and 1200-bps.
The speech coder may be followed by a rate xc2xd, 256-state convolutional coder that provides the data at traffic rates of 19.2, 9.6, 4.8, and 2.4 kbps through the channel. Each frame comprises 384, 192, 96, and 48 symbols, respectively, but the traffic channel is transmitted through the communication channel at a constant rate of 19.2 kbps by repeating the symbols at 9.6, 4.8, and 2.4 kbps twice, four times, and eight times respectively. Symbol repetition may further be followed by an interleaving step for limited burst error protection. Power control information may also be added to the interleaved bits by inserting or overwriting specific information bits. This power control information may require replacement of 32 symbols in each frame with the power control bits.
Information related to the data rate of the speech coder may not necessarily be transmitted explicitly through the communication channel. The receiver may or may not have the ability to determine, a-priori, the rate at which data have been transmitted. For an IS-95 receiver of the prior art, all data are processed at 19.2 kbps. The Viterbi decoder then decodes the data at each of the four different rates, and the decoding rate with the minimum decoding error during Viterbi detection is chosen for further processing. Viterbi decoding is a relatively intense computational operation.
The present invention relates to determining a data rate of a received sequence of N symbols, N being an integer greater than 0. For applications including, for example, Viterbi decoding in a receiver, detecting the rate of the data in accordance with the present invention before Viterbi decoding may allow for Viterbi decoding only once, since only one computation is performed corresponding to the detected rate. For an exemplary embodiment of the present invention, a set of auto-correlation values are calculated for the received sequence, each auto-correlation value corresponding to a different cyclic shift of the received sequence. Comparing each auto-correlation value with at least one threshold value generates one or more comparison values, and each threshold value corresponds to a different data rate. The data rate of the sequence is determined from the one or more comparison values. Further embodiments of the present invention may detect the data rate based either on the sign-bit and magnitude values of the symbols or only on the single sign-bit value, respectively.